package org.dromara.tearoom.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serial;
import java.time.LocalDateTime;

/**
 * 订单对象 ter_order
 *
 * @author xch
 * @date 2025-03-29
 */
@Data
@TableName("ter_order")
public class TerOrder {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 订单id
     */
    @TableId(value = "id")
    private String id;

    /**
     * 用户id
     */
    private String openId;

    /**
     * 茶室名称
     */
    private String tearoomName;

    /**
     * 茶室id
     */
    private Long tearoomId;

    /**
     * 入住开始日期时间
     */
    private String startTime;

    /**
     * 入住结束日期时间
     */
    private String endTime;

    /**
     * 预定时间(h)
     */
    private Float presetTime;

    /**
     * 订单状态（0-待支付 1-已确认 2-已入住 3-已完成 4-已取消）
     */
    private String orderStatus;

    /**
     * 订单总价 单位：分
     */
    private Integer totalPrice;

    /**
     * 优惠劵减免金额（总），单位：分
     *
     */
    private Integer couponPrice;

    /**
     * 优惠劵减免时长，单位：小时
     *
     */
    private Double couponHour;

    /**
     * 预付金额 单位：分
     */
    private Integer prepayAmount;
    /**
     * 预计收入 单位:分
     */
    private Integer revenue;

    /**
     * 入住人电话
     */
    private String mobile;

    /**
     * 优惠劵id
     */
    private Long couponId;

    /**
     * 支付方式（微信/支付宝）
     */
    private String paymentMethod;

    /**
     * 门锁密钥
     */
    private String doorKey;


    /**
     * 密钥id
     */
    private String keyId;

    private String tenantId;

    public TerOrder(String start, String end) {
        this.startTime = start;
        this.endTime = end;
    }
    private LocalDateTime createTime;

    private LocalDateTime updateTime;

    private LocalDateTime viewStartTime;

    private LocalDateTime viewEndTime;

    private String isRenew;
    private String refundId;

    /**
     * 续订前订单ID
     */
    private String oldId;
}
